package org.example.service.impl;

import org.example.dao.TestDao;
import org.example.dto.*;
import org.example.service.TestService;
import org.example.vo.*;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author Rongchang Wu
 */
@Service
public class TestServiceImpl implements TestService {

    @Resource
    private TestDao dao;

    @Override
    public List<CurriculumPlanDto> queryAllCurriculumPlan() {
        return dao.queryAllCurriculumPlan();
    }

    @Override
    public Integer addCurriculumPlan(CurriculumPlanVo curriculumPlan) {

        System.out.println("==================================dao" + dao);
        return dao.addCurriculumPlan(curriculumPlan);
    }

    @Override
    public Integer deleteCurriculumPlan(int id) {
        return dao.deleteCurriculumPlan(id);
    }

    @Override
    public Integer updateCurriculumPlan(CurriculumPlanVo curriculumPlan) {
        return dao.updateCurriculumPlan(curriculumPlan);
    }

    @Override
    public Integer queryCurriculumPlanIdByName(String curriculumPlanName) {
        return dao.queryCurriculumPlanIdByName(curriculumPlanName);
    }

    @Override
    public CurriculumPlanDto queryCurriculumPlanNameById(Integer id) {
        return dao.queryCurriculumPlanNameById(id);
    }

    @Override
    public Integer count() {
        return dao.count();
    }

    @Override
    public Integer countCurriculumPlanBySchoolYearAndSemester(String schoolYear, String semester) {
        return dao.countCurriculumPlanBySchoolYearAndSemester(schoolYear, semester);
    }

    @Override
    public List<GiveInstructionDto> queryAllGiveInstruction() {
        return dao.queryAllGiveInstruction();
    }

    @Override
    public List<GiveInstructionDto> queryCurriculumByName(String curriculumName) {
        return dao.queryCurriculumByName(curriculumName);
    }

    @Override
    public Integer countCurriculum() {
        return dao.countCurriculum();
    }

    @Override
    public GiveInstructionDto queryCurriculumById(Integer curriculumId) {
        return dao.queryCurriculumById(curriculumId);
    }

    @Override
    public List<CurriculumDto> queryAllCurriculum() {
        return dao.queryAllCurriculum();
    }

    @Override
    public Integer deleteCurriculum(Integer id) {
        return dao.deleteCurriculum(id);
    }

    @Override
    public Integer updateCurriculum(CurriculumVo curriculum) {
        return dao.updateCurriculum(curriculum);
    }

    @Override
    public Integer addCurriculum(CurriculumVo curriculum) {
        return dao.addCurriculum(curriculum);
    }

    @Override
    public Integer countCurriculum_() {
        return dao.countCurriculum_();
    }

    @Override
    public CurriculumDto queryCurriculumById_(Integer curriculumId) {
        return dao.queryCurriculumById_(curriculumId);
    }

    @Override
    public List<CurriculumDto> queryCurriculumByCurriculumCharacteristics(String curriculumCharacteristics) {
        return dao.queryCurriculumByCurriculumCharacteristics(curriculumCharacteristics);
    }

    @Override
    public Integer countCurriculumByCurriculumCharacteristics(String curriculumCharacteristics) {
        return dao.countCurriculumByCurriculumCharacteristics(curriculumCharacteristics);
    }

    @Override
    public Integer addGiveInstruction(GiveInstructionVo giveInstruction) {
        return dao.addGiveInstruction(giveInstruction);
    }

    @Override
    public Integer deleteGiveInstruction(Integer curriculumId) {
        return dao.deleteGiveInstruction(curriculumId);
    }

    @Override
    public Integer updateGiveInstruction(GiveInstructionVo giveInstruction) {
        return dao.updateGiveInstruction(giveInstruction);
    }

    @Override
    public List<GiveInstructionDto> queryGiveInstructionByTeacher(String teacherName) {
        return dao.queryGiveInstructionByTeacher(teacherName);
    }

    @Override
    public GiveInstructionDto queryGiveInstructionByCurriculumId(Integer curriculumId) {
        return dao.queryGiveInstructionByCurriculumId(curriculumId);
    }

    @Override
    public Integer countGiveInstruction() {
        return dao.countGiveInstruction();
    }

    @Override
    public Integer countGiveInstructionByTeacherName(String teacherName) {
        return dao.countGiveInstructionByTeacherName(teacherName);
    }

    @Override
    public Integer addDepartment(DepartmentVo department) {
        return dao.addDepartment(department);
    }

    @Override
    public Integer updateDepartment(DepartmentVo department) {
        return dao.updateDepartment(department);
    }

    @Override
    public Integer deleteDepartment(Integer departmentId) {
        return dao.deleteDepartment(departmentId);
    }

    @Override
    public List<DepartmentDto> queryAllDepartment() {
        return dao.queryAllDepartment();
    }

    @Override
    public Integer countDepartment() {
        return dao.countDepartment();
    }

    @Override
    public DepartmentDto queryDepartmentByName(String departmentName) {
        return dao.queryDepartmentByName(departmentName);
    }

    @Override
    public DepartmentDto queryDepartmentById(Integer departmentId) {
        return dao.queryDepartmentById(departmentId);
    }

    @Override
    public Integer addMajor(MajorVo major) {
        return dao.addMajor(major);
    }

    @Override
    public Integer updateMajor(MajorVo major) {
        return dao.updateMajor(major);
    }

    @Override
    public Integer deleteMajor(Integer majorId) {
        return dao.deleteMajor(majorId);
    }

    @Override
    public List<MajorDto> queryAllMajor() {
        return dao.queryAllMajor();
    }

    @Override
    public Integer countMajor() {
        return dao.countMajor();
    }

    @Override
    public List<MajorDto> queryMajorByDepartmentName(String departmentName) {
        return dao.queryMajorByDepartmentName(departmentName);
    }

    @Override
    public MajorDto queryMajorById(Integer majorId) {
        return dao.queryMajorById(majorId);
    }

    @Override
    public Integer countMajorByDepartment(String department) {
        return dao.countMajorByDepartment(department);
    }

    @Override
    public Integer addGrade(GradeVo grade) {
        return dao.addGrade(grade);
    }

    @Override
    public Integer updateGrade(GradeVo grade) {
        return dao.updateGrade(grade);
    }

    @Override
    public Integer deleteGrade(Integer gradeId) {
        return dao.deleteGrade(gradeId);
    }

    @Override
    public List<GradeDto> queryAllGrade() {
        return dao.queryAllGrade();
    }

    @Override
    public Integer countGrade() {
        return dao.countGrade();
    }

    @Override
    public List<GradeDto> queryGradeByDepartmentAndMajor(String department, String major) {
        return dao.queryGradeByDepartmentAndMajor(department, major);
    }

    @Override
    public GradeDto queryGradeById(Integer gradeId) {
        return dao.queryGradeById(gradeId);
    }

    @Override
    public Integer countGradeByDepartmentAndMajor(String department, String major) {
        return dao.countGradeByDepartmentAndMajor(department, major);
    }

    @Override
    public Integer addClass(ClassVo classVo) {
        return dao.addClass(classVo);
    }

    @Override
    public Integer updateClass(ClassVo classVo) {
        return dao.updateClass(classVo);
    }

    @Override
    public Integer deleteClass(Integer classId) {
        return dao.deleteClass(classId);
    }

    @Override
    public List<ClassDto> queryAllClass() {
        return dao.queryAllClass();
    }

    @Override
    public Integer countClass() {
        return dao.countClass();
    }

    @Override
    public List<ClassDto> queryClassByDepartmentAndMajorAndGrade(String department, String major, String grade) {
        return dao.queryClassByDepartmentAndMajorAndGrade(department, major, grade);
    }

    @Override
    public ClassDto queryClassById(Integer classId) {
        return dao.queryClassById(classId);
    }

    @Override
    public Integer countClassByDepartmentAndMajorAndGrade(String department, String major, String grade) {
        return dao.countClassByDepartmentAndMajorAndGrade(department, major, grade);
    }

    @Override
    public Integer addBuilding(BuildingVo building) {
        return dao.addBuilding(building);
    }

    @Override
    public Integer updateBuilding(BuildingVo building) {
        return dao.updateBuilding(building);
    }

    @Override
    public Integer deleteBuilding(Integer buildingId) {
        return dao.deleteBuilding(buildingId);
    }

    @Override
    public List<BuildingDto> queryAllBuilding() {
        return dao.queryAllBuilding();
    }

    @Override
    public Integer countBuilding() {
        return dao.countBuilding();
    }

    @Override
    public BuildingDto queryBuildingByName(String buildingName) {
        return dao.queryBuildingByName(buildingName);
    }

    @Override
    public BuildingDto queryBuildingById(Integer buildingId) {
        return dao.queryBuildingById(buildingId);
    }

    @Override
    public Integer addClassroom(ClassroomVo classroomVo) {
        return dao.addClassroom(classroomVo);
    }

    @Override
    public Integer updateClassroom(ClassroomVo classroomVo) {
        return dao.updateClassroom(classroomVo);
    }

    @Override
    public Integer deleteClassroom(Integer classroomId) {
        return dao.deleteClassroom(classroomId);
    }

    @Override
    public List<ClassroomDto> queryAllClassroom() {
        return dao.queryAllClassroom();
    }

    @Override
    public Integer countClassroom() {
        return dao.countClassroom();
    }

    @Override
    public ClassroomDto queryClassroomById(Integer classroomId) {
        return dao.queryClassroomById(classroomId);
    }

    @Override
    public List<ClassroomDto> queryClassroomByBuilding(String buildingName) {
        return dao.queryClassroomByBuilding(buildingName);
    }

    @Override
    public Integer countClassroomByBuilding(String buildingName) {
        return dao.countClassroomByBuilding(buildingName);
    }

    @Override
    public List<ClassroomDto> queryClassroomByBuildingAndClassroomType(String buildingName, String classroomType) {
        return dao.queryClassroomByBuildingAndClassroomType(buildingName, classroomType);
    }

    @Override
    public Integer countClassroomByBuildingAndClassroomType(String buildingName, String classroomType) {
        return dao.countClassroomByBuildingAndClassroomType(buildingName, classroomType);
    }

    @Override
    public Integer addTeacher(TeacherVo teacher) {
        return dao.addTeacher(teacher);
    }

    @Override
    public Integer updateTeacher(TeacherVo teacher) {
        return dao.updateTeacher(teacher);
    }

    @Override
    public Integer deleteTeacher(Integer teacherId) {
        return dao.deleteTeacher(teacherId);
    }

    @Override
    public List<TeacherDto> queryAllTeacher() {
        return dao.queryAllTeacher();
    }

    @Override
    public Integer countTeacher() {
        return dao.countTeacher();
    }

    @Override
    public TeacherDto queryTeacherByName(String teacherName) {
        return dao.queryTeacherByName(teacherName);
    }

    @Override
    public TeacherDto queryTeacherById(Integer teacherId) {
        return dao.queryTeacherById(teacherId);
    }

    @Override
    public Integer addStudent(StudentVo studentVo) {
        return dao.addStudent(studentVo);
    }

    @Override
    public Integer updateStudent(StudentVo studentVo) {
        return dao.updateStudent(studentVo);
    }

    @Override
    public Integer deleteStudent(Integer studentId) {
        return dao.deleteStudent(studentId);
    }

    @Override
    public List<StudentDto> queryAllStudent() {
        return dao.queryAllStudent();
    }

    @Override
    public Integer countStudent() {
        return dao.countStudent();
    }

    @Override
    public StudentDto queryStudentById(Integer studentId) {
        return dao.queryStudentById(studentId);
    }

    @Override
    public StudentDto queryStudentByName(String studentName) {
        return dao.queryStudentByName(studentName);
    }

    @Override
    public List<StudentDto> queryStudentByDepartmentAndMajorAndGradeAndClass(String department, String major, String grade, String classes) {
        return dao.queryStudentByDepartmentAndMajorAndGradeAndClass(department, major, grade, classes);
    }

    @Override
    public Integer countStudentByDepartmentAndMajorAndGradeAndClass(String department, String major, String grade, String classes) {
        return dao.countStudentByDepartmentAndMajorAndGradeAndClass(department, major, grade, classes);
    }


}
